home *** CD-ROM | disk | FTP | other *** search
- {$A+,B-,D-,E-,F-,G+,I+,L-,N-,O-,R-,S-,V+,X-}
-
- Unit Fonts;
- Interface
-
- { Módulo de activación de tipos alternativos }
- { (c) Emilio David Diaus López 1994 }
- {
- 9. Fonts: MαDulo De Caracteres Especiales
-
- Para Evitar La MonotoníA Y La Semejanza Entre Programas Este MóDulo Modifica
- Algunos Caracteres De La Tabla De Caracteres De La Rom Mediante Las Rutinas De La
- Bios, Se Averigua El Tipo De Caracteres Actual, Se Averigua La PosicióN De La Tabla De
- Caracteres En La Memoria, Se Copia A La Tabla De Usuario Y Se Le Indica Al Ordenador
- Que Utilice Esta Tabla En Vez De La Tabla Por Defecto.
- Primero Utilicé Un Conjunto De 512 Caracteres, PudiéNdose Seleccionar Uno U Otro
- Juego Mediante Los Atributos De Color ,Si HabíA Color De Alta Intensidad Se Empleaban
- Los CóDigos De Usuario Y Si No Los CóDigos De La Bios.
- Para Evitar Que Durante La EjecucióN De Este Programa Bajo Windows U Os/2 Se Vean
- Caracteres ErróNeos En Pantalla Se Desactivaba Esta FuncióN Bajo Estos Entornos.
- Getfonttable Cargaba La Tabla De Fuentes En La Matriz Tabla, Setfont Activaba La Tabla
- De Caracteres Correspondiente, Setsecondtable Fijaba La Segunda Tabla De Caracteres
- Y Activefonttable La Activaba.
- DespuéS Mediante Un Programa De Mi Propia CreacióN Copié La Tabla Original De Los
- Caracteres Bios En Un Array Y La Modifique A Mi Antojo Para DespuéS Grabarla En Un
- Fichero Que DespuéS Se ConvertiríA En Un Fichero .Obj Mediante Binobj Y Que
- EnlazaríA Mediante El MóDulo Fonts En Mi Programa, A Su Vez Modifiqué El MóDulo
- Fonts Para Que Manejara Este Bloque De Caracteres. DespuéS De Estas Modificaciones
- El CóDigo De Fonts Contiene Los Siguientes Procedimientos:
- Mdiskfnt - Procedimiento Que Apunta A La Nueva Tabla De Caracteres De
- Mdiskpro.
- Inicializar_Fuentes - Carga Y Activa Los Tipos De Usuario Mediante Las Funciones
- De La B.I.O.S., Los Tipos Originales Se Reactivan Al Acabar La EjecucióN Del
- Programa.
-
- De Esta Manera Es Innecesario Iswindows Porque Los Caracteres Corresponden Con
- Los Tipos De Usuario Y Con Los Tipos De B.I.O.S. En Su NúMero Cosa Que No OcurríA En
- La Anterior ImplementacióN.
- }
- Procedure Mdiskfnt;
- Procedure Inicializar_Fuentes;
-
- Implementation
- Uses Dos;
-
- Var Wcursor:Word;
-
- {$l mdiskfnt.obj}
- Procedure Mdiskfnt;External;
-
-
- Function Getcursor : Word;Assembler;
- Asm
- Mov Ah,3
- Mov Bh,0
- Int 10h
- Mov Ax,Cx
- End;
-
- Procedure Setcursor(Vpwnewcursor : Word);Assembler;
- Asm
- Mov Ah,1;
- Mov Bh,0;
- Mov Cx,Vpwnewcursor;
- Int 10h
- End;
-
- {Function Iswindows:Boolean;
- Var Result:Boolean;
- Version:Word;
-
- Function Return:Word;Assembler;
- Asm
- Mov Ax,1600h
- Int 2Fh
- End;
- Begin
- Result:=False;
- Version:=Return;
- If (Version<>$1600) Or (Lo(Dosversion)>=20) Then Result:=True;
- Iswindows:=Result;
- End;}
-
- Procedure Set_Table;
- Var R:Registers;
- Begin
- R.Ax:=$1100;
- R.Bh:=16;
- R.Bl:=0;
- R.Cx:=256;
- R.Dx:=0;
- R.Es:=Seg(Mdiskfnt);
- R.Bp:=Ofs(Mdiskfnt);
- Intr($10,R);
- End;
-
- Procedure Inicializar_Fuentes;
-
- Begin
- {If Not(Iswindows) Then Begin}
- Wcursor:=Getcursor;
- Set_Table;
- Setcursor(Wcursor);
- {End;}
- End;
-
- End.
-